#include <stdio.h>
#include <stdlib.h>

//内存中的区域！
//  栈区    局部变量、函数的参数
//  堆区    动态内存分配
//  静态区  全局变量、static修饰的静态变量

void test()
{
    // int a = 1;    局部变量 范围只在{}大括号区域
    //被static修饰的局部变量，此时  和全局变量的生命周期一致
    static int a = 1;
    a++;
    printf("%d\n", a);
}

//声明外部符号
extern int global_var;

// define 定义宏
#define ADD(x, y) x + y
#define ADD_(x, y) ((x) + (y))

int main()
{
    int i = 0;
    for (i = 0; i < 10; i++)
    {
        test();
    }

    // printf("全局变量:%d\n", global_var);

    printf("define宏:%d\n", 2 * ADD(1, 9)); //结果：2*1+9=11
    printf("define定义宏:%d\n",2*ADD_(1,9)); //结果：2*(1+9)=20
    system("pause");
    return 0;
}